package com.wiki.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * User: Wang YiHan
 * Date: 2021/8/9 20:11
 * Email: 783096044@qq.com
 * File_Name: TeacherExample
**/
public class TeacherExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TeacherExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTeacherIdIsNull() {
            addCriterion("teacher_id is null");
            return (Criteria) this;
        }

        public Criteria andTeacherIdIsNotNull() {
            addCriterion("teacher_id is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherIdEqualTo(Integer value) {
            addCriterion("teacher_id =", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotEqualTo(Integer value) {
            addCriterion("teacher_id <>", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdGreaterThan(Integer value) {
            addCriterion("teacher_id >", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("teacher_id >=", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdLessThan(Integer value) {
            addCriterion("teacher_id <", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdLessThanOrEqualTo(Integer value) {
            addCriterion("teacher_id <=", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdIn(List<Integer> values) {
            addCriterion("teacher_id in", values, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotIn(List<Integer> values) {
            addCriterion("teacher_id not in", values, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdBetween(Integer value1, Integer value2) {
            addCriterion("teacher_id between", value1, value2, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotBetween(Integer value1, Integer value2) {
            addCriterion("teacher_id not between", value1, value2, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherNameIsNull() {
            addCriterion("teacher_name is null");
            return (Criteria) this;
        }

        public Criteria andTeacherNameIsNotNull() {
            addCriterion("teacher_name is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherNameEqualTo(String value) {
            addCriterion("teacher_name =", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameNotEqualTo(String value) {
            addCriterion("teacher_name <>", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameGreaterThan(String value) {
            addCriterion("teacher_name >", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_name >=", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameLessThan(String value) {
            addCriterion("teacher_name <", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameLessThanOrEqualTo(String value) {
            addCriterion("teacher_name <=", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameLike(String value) {
            addCriterion("teacher_name like", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameNotLike(String value) {
            addCriterion("teacher_name not like", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameIn(List<String> values) {
            addCriterion("teacher_name in", values, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameNotIn(List<String> values) {
            addCriterion("teacher_name not in", values, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameBetween(String value1, String value2) {
            addCriterion("teacher_name between", value1, value2, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameNotBetween(String value1, String value2) {
            addCriterion("teacher_name not between", value1, value2, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberIsNull() {
            addCriterion("teacher_number is null");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberIsNotNull() {
            addCriterion("teacher_number is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberEqualTo(String value) {
            addCriterion("teacher_number =", value, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberNotEqualTo(String value) {
            addCriterion("teacher_number <>", value, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberGreaterThan(String value) {
            addCriterion("teacher_number >", value, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_number >=", value, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberLessThan(String value) {
            addCriterion("teacher_number <", value, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberLessThanOrEqualTo(String value) {
            addCriterion("teacher_number <=", value, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberLike(String value) {
            addCriterion("teacher_number like", value, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberNotLike(String value) {
            addCriterion("teacher_number not like", value, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberIn(List<String> values) {
            addCriterion("teacher_number in", values, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberNotIn(List<String> values) {
            addCriterion("teacher_number not in", values, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberBetween(String value1, String value2) {
            addCriterion("teacher_number between", value1, value2, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherNumberNotBetween(String value1, String value2) {
            addCriterion("teacher_number not between", value1, value2, "teacherNumber");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordIsNull() {
            addCriterion("teacher_password is null");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordIsNotNull() {
            addCriterion("teacher_password is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordEqualTo(String value) {
            addCriterion("teacher_password =", value, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordNotEqualTo(String value) {
            addCriterion("teacher_password <>", value, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordGreaterThan(String value) {
            addCriterion("teacher_password >", value, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_password >=", value, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordLessThan(String value) {
            addCriterion("teacher_password <", value, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordLessThanOrEqualTo(String value) {
            addCriterion("teacher_password <=", value, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordLike(String value) {
            addCriterion("teacher_password like", value, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordNotLike(String value) {
            addCriterion("teacher_password not like", value, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordIn(List<String> values) {
            addCriterion("teacher_password in", values, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordNotIn(List<String> values) {
            addCriterion("teacher_password not in", values, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordBetween(String value1, String value2) {
            addCriterion("teacher_password between", value1, value2, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherPasswordNotBetween(String value1, String value2) {
            addCriterion("teacher_password not between", value1, value2, "teacherPassword");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitIsNull() {
            addCriterion("teacher_head_portrait is null");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitIsNotNull() {
            addCriterion("teacher_head_portrait is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitEqualTo(String value) {
            addCriterion("teacher_head_portrait =", value, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitNotEqualTo(String value) {
            addCriterion("teacher_head_portrait <>", value, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitGreaterThan(String value) {
            addCriterion("teacher_head_portrait >", value, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_head_portrait >=", value, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitLessThan(String value) {
            addCriterion("teacher_head_portrait <", value, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitLessThanOrEqualTo(String value) {
            addCriterion("teacher_head_portrait <=", value, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitLike(String value) {
            addCriterion("teacher_head_portrait like", value, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitNotLike(String value) {
            addCriterion("teacher_head_portrait not like", value, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitIn(List<String> values) {
            addCriterion("teacher_head_portrait in", values, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitNotIn(List<String> values) {
            addCriterion("teacher_head_portrait not in", values, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitBetween(String value1, String value2) {
            addCriterion("teacher_head_portrait between", value1, value2, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherHeadPortraitNotBetween(String value1, String value2) {
            addCriterion("teacher_head_portrait not between", value1, value2, "teacherHeadPortrait");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolIsNull() {
            addCriterion("teacher_school is null");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolIsNotNull() {
            addCriterion("teacher_school is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolEqualTo(String value) {
            addCriterion("teacher_school =", value, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolNotEqualTo(String value) {
            addCriterion("teacher_school <>", value, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolGreaterThan(String value) {
            addCriterion("teacher_school >", value, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_school >=", value, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolLessThan(String value) {
            addCriterion("teacher_school <", value, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolLessThanOrEqualTo(String value) {
            addCriterion("teacher_school <=", value, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolLike(String value) {
            addCriterion("teacher_school like", value, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolNotLike(String value) {
            addCriterion("teacher_school not like", value, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolIn(List<String> values) {
            addCriterion("teacher_school in", values, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolNotIn(List<String> values) {
            addCriterion("teacher_school not in", values, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolBetween(String value1, String value2) {
            addCriterion("teacher_school between", value1, value2, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherSchoolNotBetween(String value1, String value2) {
            addCriterion("teacher_school not between", value1, value2, "teacherSchool");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorIsNull() {
            addCriterion("teacher_major is null");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorIsNotNull() {
            addCriterion("teacher_major is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorEqualTo(String value) {
            addCriterion("teacher_major =", value, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorNotEqualTo(String value) {
            addCriterion("teacher_major <>", value, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorGreaterThan(String value) {
            addCriterion("teacher_major >", value, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_major >=", value, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorLessThan(String value) {
            addCriterion("teacher_major <", value, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorLessThanOrEqualTo(String value) {
            addCriterion("teacher_major <=", value, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorLike(String value) {
            addCriterion("teacher_major like", value, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorNotLike(String value) {
            addCriterion("teacher_major not like", value, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorIn(List<String> values) {
            addCriterion("teacher_major in", values, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorNotIn(List<String> values) {
            addCriterion("teacher_major not in", values, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorBetween(String value1, String value2) {
            addCriterion("teacher_major between", value1, value2, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherMajorNotBetween(String value1, String value2) {
            addCriterion("teacher_major not between", value1, value2, "teacherMajor");
            return (Criteria) this;
        }

        public Criteria andTeacherClassIsNull() {
            addCriterion("teacher_class is null");
            return (Criteria) this;
        }

        public Criteria andTeacherClassIsNotNull() {
            addCriterion("teacher_class is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherClassEqualTo(String value) {
            addCriterion("teacher_class =", value, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassNotEqualTo(String value) {
            addCriterion("teacher_class <>", value, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassGreaterThan(String value) {
            addCriterion("teacher_class >", value, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_class >=", value, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassLessThan(String value) {
            addCriterion("teacher_class <", value, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassLessThanOrEqualTo(String value) {
            addCriterion("teacher_class <=", value, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassLike(String value) {
            addCriterion("teacher_class like", value, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassNotLike(String value) {
            addCriterion("teacher_class not like", value, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassIn(List<String> values) {
            addCriterion("teacher_class in", values, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassNotIn(List<String> values) {
            addCriterion("teacher_class not in", values, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassBetween(String value1, String value2) {
            addCriterion("teacher_class between", value1, value2, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherClassNotBetween(String value1, String value2) {
            addCriterion("teacher_class not between", value1, value2, "teacherClass");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneIsNull() {
            addCriterion("teacher_phone is null");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneIsNotNull() {
            addCriterion("teacher_phone is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneEqualTo(String value) {
            addCriterion("teacher_phone =", value, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneNotEqualTo(String value) {
            addCriterion("teacher_phone <>", value, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneGreaterThan(String value) {
            addCriterion("teacher_phone >", value, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_phone >=", value, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneLessThan(String value) {
            addCriterion("teacher_phone <", value, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneLessThanOrEqualTo(String value) {
            addCriterion("teacher_phone <=", value, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneLike(String value) {
            addCriterion("teacher_phone like", value, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneNotLike(String value) {
            addCriterion("teacher_phone not like", value, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneIn(List<String> values) {
            addCriterion("teacher_phone in", values, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneNotIn(List<String> values) {
            addCriterion("teacher_phone not in", values, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneBetween(String value1, String value2) {
            addCriterion("teacher_phone between", value1, value2, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherPhoneNotBetween(String value1, String value2) {
            addCriterion("teacher_phone not between", value1, value2, "teacherPhone");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressIsNull() {
            addCriterion("teacher_address is null");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressIsNotNull() {
            addCriterion("teacher_address is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressEqualTo(String value) {
            addCriterion("teacher_address =", value, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressNotEqualTo(String value) {
            addCriterion("teacher_address <>", value, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressGreaterThan(String value) {
            addCriterion("teacher_address >", value, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_address >=", value, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressLessThan(String value) {
            addCriterion("teacher_address <", value, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressLessThanOrEqualTo(String value) {
            addCriterion("teacher_address <=", value, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressLike(String value) {
            addCriterion("teacher_address like", value, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressNotLike(String value) {
            addCriterion("teacher_address not like", value, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressIn(List<String> values) {
            addCriterion("teacher_address in", values, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressNotIn(List<String> values) {
            addCriterion("teacher_address not in", values, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressBetween(String value1, String value2) {
            addCriterion("teacher_address between", value1, value2, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherAddressNotBetween(String value1, String value2) {
            addCriterion("teacher_address not between", value1, value2, "teacherAddress");
            return (Criteria) this;
        }

        public Criteria andTeacherSexIsNull() {
            addCriterion("teacher_sex is null");
            return (Criteria) this;
        }

        public Criteria andTeacherSexIsNotNull() {
            addCriterion("teacher_sex is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherSexEqualTo(String value) {
            addCriterion("teacher_sex =", value, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexNotEqualTo(String value) {
            addCriterion("teacher_sex <>", value, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexGreaterThan(String value) {
            addCriterion("teacher_sex >", value, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_sex >=", value, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexLessThan(String value) {
            addCriterion("teacher_sex <", value, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexLessThanOrEqualTo(String value) {
            addCriterion("teacher_sex <=", value, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexLike(String value) {
            addCriterion("teacher_sex like", value, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexNotLike(String value) {
            addCriterion("teacher_sex not like", value, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexIn(List<String> values) {
            addCriterion("teacher_sex in", values, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexNotIn(List<String> values) {
            addCriterion("teacher_sex not in", values, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexBetween(String value1, String value2) {
            addCriterion("teacher_sex between", value1, value2, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherSexNotBetween(String value1, String value2) {
            addCriterion("teacher_sex not between", value1, value2, "teacherSex");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroIsNull() {
            addCriterion("teacher_intro is null");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroIsNotNull() {
            addCriterion("teacher_intro is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroEqualTo(String value) {
            addCriterion("teacher_intro =", value, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroNotEqualTo(String value) {
            addCriterion("teacher_intro <>", value, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroGreaterThan(String value) {
            addCriterion("teacher_intro >", value, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_intro >=", value, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroLessThan(String value) {
            addCriterion("teacher_intro <", value, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroLessThanOrEqualTo(String value) {
            addCriterion("teacher_intro <=", value, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroLike(String value) {
            addCriterion("teacher_intro like", value, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroNotLike(String value) {
            addCriterion("teacher_intro not like", value, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroIn(List<String> values) {
            addCriterion("teacher_intro in", values, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroNotIn(List<String> values) {
            addCriterion("teacher_intro not in", values, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroBetween(String value1, String value2) {
            addCriterion("teacher_intro between", value1, value2, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherIntroNotBetween(String value1, String value2) {
            addCriterion("teacher_intro not between", value1, value2, "teacherIntro");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoIsNull() {
            addCriterion("teacher_photo is null");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoIsNotNull() {
            addCriterion("teacher_photo is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoEqualTo(String value) {
            addCriterion("teacher_photo =", value, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoNotEqualTo(String value) {
            addCriterion("teacher_photo <>", value, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoGreaterThan(String value) {
            addCriterion("teacher_photo >", value, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_photo >=", value, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoLessThan(String value) {
            addCriterion("teacher_photo <", value, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoLessThanOrEqualTo(String value) {
            addCriterion("teacher_photo <=", value, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoLike(String value) {
            addCriterion("teacher_photo like", value, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoNotLike(String value) {
            addCriterion("teacher_photo not like", value, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoIn(List<String> values) {
            addCriterion("teacher_photo in", values, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoNotIn(List<String> values) {
            addCriterion("teacher_photo not in", values, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoBetween(String value1, String value2) {
            addCriterion("teacher_photo between", value1, value2, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPhotoNotBetween(String value1, String value2) {
            addCriterion("teacher_photo not between", value1, value2, "teacherPhoto");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceIsNull() {
            addCriterion("teacher_price is null");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceIsNotNull() {
            addCriterion("teacher_price is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceEqualTo(String value) {
            addCriterion("teacher_price =", value, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceNotEqualTo(String value) {
            addCriterion("teacher_price <>", value, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceGreaterThan(String value) {
            addCriterion("teacher_price >", value, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_price >=", value, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceLessThan(String value) {
            addCriterion("teacher_price <", value, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceLessThanOrEqualTo(String value) {
            addCriterion("teacher_price <=", value, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceLike(String value) {
            addCriterion("teacher_price like", value, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceNotLike(String value) {
            addCriterion("teacher_price not like", value, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceIn(List<String> values) {
            addCriterion("teacher_price in", values, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceNotIn(List<String> values) {
            addCriterion("teacher_price not in", values, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceBetween(String value1, String value2) {
            addCriterion("teacher_price between", value1, value2, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherPriceNotBetween(String value1, String value2) {
            addCriterion("teacher_price not between", value1, value2, "teacherPrice");
            return (Criteria) this;
        }

        public Criteria andTeacherExpIsNull() {
            addCriterion("teacher_exp is null");
            return (Criteria) this;
        }

        public Criteria andTeacherExpIsNotNull() {
            addCriterion("teacher_exp is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherExpEqualTo(String value) {
            addCriterion("teacher_exp =", value, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpNotEqualTo(String value) {
            addCriterion("teacher_exp <>", value, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpGreaterThan(String value) {
            addCriterion("teacher_exp >", value, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_exp >=", value, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpLessThan(String value) {
            addCriterion("teacher_exp <", value, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpLessThanOrEqualTo(String value) {
            addCriterion("teacher_exp <=", value, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpLike(String value) {
            addCriterion("teacher_exp like", value, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpNotLike(String value) {
            addCriterion("teacher_exp not like", value, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpIn(List<String> values) {
            addCriterion("teacher_exp in", values, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpNotIn(List<String> values) {
            addCriterion("teacher_exp not in", values, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpBetween(String value1, String value2) {
            addCriterion("teacher_exp between", value1, value2, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherExpNotBetween(String value1, String value2) {
            addCriterion("teacher_exp not between", value1, value2, "teacherExp");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeIsNull() {
            addCriterion("teacher_empty_time is null");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeIsNotNull() {
            addCriterion("teacher_empty_time is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeEqualTo(Date value) {
            addCriterion("teacher_empty_time =", value, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeNotEqualTo(Date value) {
            addCriterion("teacher_empty_time <>", value, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeGreaterThan(Date value) {
            addCriterion("teacher_empty_time >", value, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("teacher_empty_time >=", value, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeLessThan(Date value) {
            addCriterion("teacher_empty_time <", value, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeLessThanOrEqualTo(Date value) {
            addCriterion("teacher_empty_time <=", value, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeIn(List<Date> values) {
            addCriterion("teacher_empty_time in", values, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeNotIn(List<Date> values) {
            addCriterion("teacher_empty_time not in", values, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeBetween(Date value1, Date value2) {
            addCriterion("teacher_empty_time between", value1, value2, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andTeacherEmptyTimeNotBetween(Date value1, Date value2) {
            addCriterion("teacher_empty_time not between", value1, value2, "teacherEmptyTime");
            return (Criteria) this;
        }

        public Criteria andWalletIdIsNull() {
            addCriterion("wallet_id is null");
            return (Criteria) this;
        }

        public Criteria andWalletIdIsNotNull() {
            addCriterion("wallet_id is not null");
            return (Criteria) this;
        }

        public Criteria andWalletIdEqualTo(Integer value) {
            addCriterion("wallet_id =", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdNotEqualTo(Integer value) {
            addCriterion("wallet_id <>", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdGreaterThan(Integer value) {
            addCriterion("wallet_id >", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("wallet_id >=", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdLessThan(Integer value) {
            addCriterion("wallet_id <", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdLessThanOrEqualTo(Integer value) {
            addCriterion("wallet_id <=", value, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdIn(List<Integer> values) {
            addCriterion("wallet_id in", values, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdNotIn(List<Integer> values) {
            addCriterion("wallet_id not in", values, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdBetween(Integer value1, Integer value2) {
            addCriterion("wallet_id between", value1, value2, "walletId");
            return (Criteria) this;
        }

        public Criteria andWalletIdNotBetween(Integer value1, Integer value2) {
            addCriterion("wallet_id not between", value1, value2, "walletId");
            return (Criteria) this;
        }

        public Criteria andGradeIdIsNull() {
            addCriterion("grade_id is null");
            return (Criteria) this;
        }

        public Criteria andGradeIdIsNotNull() {
            addCriterion("grade_id is not null");
            return (Criteria) this;
        }

        public Criteria andGradeIdEqualTo(Integer value) {
            addCriterion("grade_id =", value, "gradeId");
            return (Criteria) this;
        }

        public Criteria andGradeIdNotEqualTo(Integer value) {
            addCriterion("grade_id <>", value, "gradeId");
            return (Criteria) this;
        }

        public Criteria andGradeIdGreaterThan(Integer value) {
            addCriterion("grade_id >", value, "gradeId");
            return (Criteria) this;
        }

        public Criteria andGradeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("grade_id >=", value, "gradeId");
            return (Criteria) this;
        }

        public Criteria andGradeIdLessThan(Integer value) {
            addCriterion("grade_id <", value, "gradeId");
            return (Criteria) this;
        }

        public Criteria andGradeIdLessThanOrEqualTo(Integer value) {
            addCriterion("grade_id <=", value, "gradeId");
            return (Criteria) this;
        }

        public Criteria andGradeIdIn(List<Integer> values) {
            addCriterion("grade_id in", values, "gradeId");
            return (Criteria) this;
        }

        public Criteria andGradeIdNotIn(List<Integer> values) {
            addCriterion("grade_id not in", values, "gradeId");
            return (Criteria) this;
        }

        public Criteria andGradeIdBetween(Integer value1, Integer value2) {
            addCriterion("grade_id between", value1, value2, "gradeId");
            return (Criteria) this;
        }

        public Criteria andGradeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("grade_id not between", value1, value2, "gradeId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("`status` is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("`status` is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("`status` =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("`status` <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("`status` >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("`status` >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("`status` <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("`status` <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("`status` in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("`status` not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("`status` between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("`status` not between", value1, value2, "status");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}